The present invention relates to a technique for life elongation of memory cards (nonvolatile memory apparatuses), and more particularly to a technique that can be effectively applied to the relief of essentially good blocks made faulty by an erratic error or otherwise.
As memory devices for use in personal computers and multifunctional terminals, memory cards including Multi Media Cards (registered trade mark) and Compact Flash (registered trademark, abbreviated to CF) cards are coming into rapidly expanding use.
To meet today's requirement for ever higher performance of semiconductor devices, nonvolatile memories permitting simultaneous electrical erasion or rewriting and capable of holding large volumes of data, such as flash memories, are used as semiconductor memories for mounting on memory cards.
When a flash memory undergoes repeated data writing and erasion, a certain proportion of its blocks (sectors) come to allow no more writing/erasion on account of the characteristics of the device. Unless the voltage supplied from the host to a memory card in writing data is constant, accidental failures in writing data into memory cells due to erratic errors or the like may arise, causing the controller of the memory card to judge blocks which would otherwise permit normal data writing/erasion to be faulty blocks.
In a memory card, a certain proportion of unused blocks are reserved to constitute a standby area in anticipation of the occurrence of faulty blocks during data processing, and a controller so performs processing that, once any faulty block arises during data processing, as to use no faulty block thereafter.
Formulas available for erasion/reading/writing out of or into memory cards include the so-called logical/physical coherent formula and the table formula.
By the logical/physical coherent formula for instance, a logical address designated by the host is assigned as it is to the physical address of the flash memory. In the flash memory, there are provided user data areas which the user can use and a standby area which can be substituted for a user area, and if any block in the user data area becomes faulty, the controller will process substitution to use a block in the standby area to replace that faulty block.
By the table formula, data writing is done by referencing a writable block management table indicating blocks into which data can be written and an address conversion table indicating the addresses of blocks into which data have been written.
In this case, an unused block zone is provided in the user data area. If any block in the user data area becomes faulty, fault registration will be processed by which the faultiness of that block is registered in the writable block management table, and a block having an unused block zone, which is a standby area, is registered as a new block.    Patent Reference 1: Japanese Unexamined Patent Publication No. 2002-182989 (U.S. Pat. No. 6,735,121)    Patent Reference 2: Japanese Unexamined Patent Publication No. 2003-058432 (U.S. patent application Ser. No. 10/082,291)